package domain;

import java.util.Vector;

import persistencia.AdministradorPersistenciaNumero;
import view.NumeroView;

public class Numero {
	private int numeroId;	
	private int codPais;
	private int numero;
	private int codArea;
	private boolean disponible;
	
	public Numero(int numeroId, int codPais, int codArea, boolean disponible, int numero) {
		this.numeroId = numeroId;
		this.codArea = codArea;
		this.codPais = codPais;
		this.disponible = disponible;
		this.numero = numero;
	}
	
	public int getNumeroId() {
		return numeroId;
	}
		
	public int getCodPais() {
		return codPais;
	}
	public void setCodPais(int codPais) {
		this.codPais = codPais;
	}
	public int getNumero() {
		return numero;
	}
	public void setNumero(int numero) {
		this.numero = numero;
	}
	public int getCodArea() {
		return codArea;
	}
	public void setCodArea(int codArea) {
		this.codArea = codArea;
	}
	public boolean isDisponible() {
		return disponible;
	}
	public void setDisponible(boolean disponible) {
		this.disponible = disponible;
	}
	
	private static AdministradorPersistenciaNumero getAdministradorPersistenciaNumero() {
		return AdministradorPersistenciaNumero.getInstancia();
	}

	public void update() {
		getAdministradorPersistenciaNumero().update(this);		
	}
	
	public static Vector<Numero> getNumeros() {
		return getAdministradorPersistenciaNumero().obtenerTodos();
	}
	
	public static Numero getNumero(int numeroId) {
		return getAdministradorPersistenciaNumero().getNumero(numeroId);
	}
	
	public NumeroView getNumeroView() {
		return new NumeroView(this.getNumeroId(), this.getCodPais(), this.getCodArea(), this.getNumero(), this.isDisponible());
	}	
	
	
}
